package com.zhiche.lisa.bms.dao.model.pay;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 支付申请单主表
 * </p>
 *
 * @author liuanshun
 * @since 2019-01-24
 */
@TableName("lisa_pay_apply")
public class PayApply extends Model<PayApply> {

    private static final long serialVersionUID = 1L;

    @TableId(value="id", type= IdType.AUTO)
    private Long id;
    /**
     * 支付申请单号
     */
    @TableField("pay_apply_code")
    private String payApplyCode;
    /**
     * 承运商名称
     */
    @TableField("lsp_name")
    private String lspName;
    /**
     * 承运商id
     */
    @TableField("lsp_id")
    private String lspId;
    /**
     * 类型：10-承运商、20-车队、 30-司机
     */
    @TableField("bill_type")
    private Long billType;
    /**
     * 开户银行
     */
    @TableField("bank_name")
    private String bankName;
    /**
     * 开户账户
     */
    @TableField("bank_code")
    private String bankCode;
    /**
     * 申请日期
     */
    @TableField("apply_date")
    private Date applyDate;
    /**
     * 账单金额
     */
    @TableField("bill_sum")
    private BigDecimal billSum;
    /**
     * 已预付金额
     */
    @TableField("paid_sum")
    private BigDecimal paidSum;
    /**
     * 应收款项金额
     */
    @TableField("inc_sum")
    private BigDecimal incSum;
    /**
     * 考核扣款金额
     */
    @TableField("charge_sum")
    private BigDecimal chargeSum;
    /**
     * 保险费
     */
    private BigDecimal premium;
    /**
     * 实付金额
     */
    @TableField("payment_sum")
    private BigDecimal paymentSum;
    /**
     * 现金支付金额
     */
    @TableField("cash_pay_sum")
    private BigDecimal cashPaySum;
    /**
     * 油卡支付金额
     */
    @TableField("oil_pay_sum")
    private BigDecimal oilPaySum;
    /**
     * 油卡尾款金额
     */
    @TableField("oil_ba_pay_sum")
    private BigDecimal oilBaPaySum;
    /**
     * 油卡尾款已排金额
     */
    @TableField("oil_al_pay_sum")
    private BigDecimal oilAlPaySum;
    /**
     * 油卡尾款剩余金额
     */
    @TableField("oil_er_pay_sum")
    private BigDecimal oilErPaySum;
    /**
     * 现金尾款金额
     */
    @TableField("cash_ba_pay_sum")
    private BigDecimal cashBaPaySum;
    /**
     * 现金尾款已排金额
     */
    @TableField("cash_al_pay_sum")
    private BigDecimal cashAlPaySum;
    /**
     * 现金尾款剩余金额
     */
    @TableField("cash_er_pay_sum")
    private BigDecimal cashErPaySum;
    /**
     * 已排款金额
     */
    @TableField("execute_sum")
    private BigDecimal executeSum;
    /**
     * 未排款金额
     */
    @TableField("no_execute_sum")
    private BigDecimal noExecuteSum;
    /**
     * 当次排款金额
     */
    @TableField("current_execute")
    private BigDecimal currentExecute;
    /**
     * 余额
     */
    private BigDecimal balance;
    /**
     * 账单状态 0-新增 1-审核
     */
    private Integer status;
    /**
     * 是否开票 0-否, 1-是
     */
    @TableField("is_invoice")
    private Integer isInvoice;
    /**
     * 应收时间
     */
    @TableField("should_receipt_date")
    private Date shouldReceiptDate;
    /**
     * 租户id
     */
    @TableField("tenant_id")
    private Long tenantId;
    /**
     * 附件
     */
    private String accessory;
    /**
     * 附件文件名
     */
    @TableField("accessory_name")
    private String accessoryName;
    /**
     * 申请审批人
     */
    @TableField("confirm_user")
    private String confirmUser;
    /**
     * 审批流程id
     */
    @TableField("activiti_process_id")
    private String activitiProcessId;
    /**
     * 审批流程节点id
     */
    @TableField("activiti_task_id")
    private String activitiTaskId;
    /**
     * 审批流程节点说明
     */
    @TableField("activiti_task_assignee")
    private String activitiTaskAssignee;
    /**
     * 审批流程节点名称
     */
    @TableField("activiti_task_name")
    private String activitiTaskName;
    /**
     * 万金油支付申请号
     */
    @TableField("cost_id")
    private String costId;
    /**
     * 万金油支付申请状态0-未审核、10-审核成功、20-审核驳回、30-转账失败
     */
    @TableField("sync_status")
    private String syncStatus;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getPayApplyCode() {
        return payApplyCode;
    }

    public void setPayApplyCode(String payApplyCode) {
        this.payApplyCode = payApplyCode;
    }

    public String getLspName() {
        return lspName;
    }

    public void setLspName(String lspName) {
        this.lspName = lspName;
    }

    public String getLspId() {
        return lspId;
    }

    public void setLspId(String lspId) {
        this.lspId = lspId;
    }

    public Long getBillType() {
        return billType;
    }

    public void setBillType(Long billType) {
        this.billType = billType;
    }

    public String getBankName() {
        return bankName;
    }

    public void setBankName(String bankName) {
        this.bankName = bankName;
    }

    public String getBankCode() {
        return bankCode;
    }

    public void setBankCode(String bankCode) {
        this.bankCode = bankCode;
    }

    public Date getApplyDate() {
        return applyDate;
    }

    public void setApplyDate(Date applyDate) {
        this.applyDate = applyDate;
    }

    public BigDecimal getBillSum() {
        return billSum;
    }

    public void setBillSum(BigDecimal billSum) {
        this.billSum = billSum;
    }

    public BigDecimal getPaidSum() {
        return paidSum;
    }

    public void setPaidSum(BigDecimal paidSum) {
        this.paidSum = paidSum;
    }

    public BigDecimal getIncSum() {
        return incSum;
    }

    public void setIncSum(BigDecimal incSum) {
        this.incSum = incSum;
    }

    public BigDecimal getChargeSum() {
        return chargeSum;
    }

    public void setChargeSum(BigDecimal chargeSum) {
        this.chargeSum = chargeSum;
    }

    public BigDecimal getPremium() {
        return premium;
    }

    public void setPremium(BigDecimal premium) {
        this.premium = premium;
    }

    public BigDecimal getPaymentSum() {
        return paymentSum;
    }

    public void setPaymentSum(BigDecimal paymentSum) {
        this.paymentSum = paymentSum;
    }

    public BigDecimal getCashPaySum() {
        return cashPaySum;
    }

    public void setCashPaySum(BigDecimal cashPaySum) {
        this.cashPaySum = cashPaySum;
    }

    public BigDecimal getOilPaySum() {
        return oilPaySum;
    }

    public void setOilPaySum(BigDecimal oilPaySum) {
        this.oilPaySum = oilPaySum;
    }

    public BigDecimal getOilBaPaySum() {
        return oilBaPaySum;
    }

    public void setOilBaPaySum(BigDecimal oilBaPaySum) {
        this.oilBaPaySum = oilBaPaySum;
    }

    public BigDecimal getOilAlPaySum() {
        return oilAlPaySum;
    }

    public void setOilAlPaySum(BigDecimal oilAlPaySum) {
        this.oilAlPaySum = oilAlPaySum;
    }

    public BigDecimal getOilErPaySum() {
        return oilErPaySum;
    }

    public void setOilErPaySum(BigDecimal oilErPaySum) {
        this.oilErPaySum = oilErPaySum;
    }

    public BigDecimal getCashBaPaySum() {
        return cashBaPaySum;
    }

    public void setCashBaPaySum(BigDecimal cashBaPaySum) {
        this.cashBaPaySum = cashBaPaySum;
    }

    public BigDecimal getCashAlPaySum() {
        return cashAlPaySum;
    }

    public void setCashAlPaySum(BigDecimal cashAlPaySum) {
        this.cashAlPaySum = cashAlPaySum;
    }

    public BigDecimal getCashErPaySum() {
        return cashErPaySum;
    }

    public void setCashErPaySum(BigDecimal cashErPaySum) {
        this.cashErPaySum = cashErPaySum;
    }

    public BigDecimal getExecuteSum() {
        return executeSum;
    }

    public void setExecuteSum(BigDecimal executeSum) {
        this.executeSum = executeSum;
    }

    public BigDecimal getNoExecuteSum() {
        return noExecuteSum;
    }

    public void setNoExecuteSum(BigDecimal noExecuteSum) {
        this.noExecuteSum = noExecuteSum;
    }

    public BigDecimal getCurrentExecute() {
        return currentExecute;
    }

    public void setCurrentExecute(BigDecimal currentExecute) {
        this.currentExecute = currentExecute;
    }

    public BigDecimal getBalance() {
        return balance;
    }

    public void setBalance(BigDecimal balance) {
        this.balance = balance;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getIsInvoice() {
        return isInvoice;
    }

    public void setIsInvoice(Integer isInvoice) {
        this.isInvoice = isInvoice;
    }

    public Date getShouldReceiptDate() {
        return shouldReceiptDate;
    }

    public void setShouldReceiptDate(Date shouldReceiptDate) {
        this.shouldReceiptDate = shouldReceiptDate;
    }

    public Long getTenantId() {
        return tenantId;
    }

    public void setTenantId(Long tenantId) {
        this.tenantId = tenantId;
    }

    public String getAccessory() {
        return accessory;
    }

    public void setAccessory(String accessory) {
        this.accessory = accessory;
    }

    public String getAccessoryName() {
        return accessoryName;
    }

    public void setAccessoryName(String accessoryName) {
        this.accessoryName = accessoryName;
    }

    public String getConfirmUser() {
        return confirmUser;
    }

    public void setConfirmUser(String confirmUser) {
        this.confirmUser = confirmUser;
    }

    public String getActivitiProcessId() {
        return activitiProcessId;
    }

    public void setActivitiProcessId(String activitiProcessId) {
        this.activitiProcessId = activitiProcessId;
    }

    public String getActivitiTaskId() {
        return activitiTaskId;
    }

    public void setActivitiTaskId(String activitiTaskId) {
        this.activitiTaskId = activitiTaskId;
    }

    public String getActivitiTaskAssignee() {
        return activitiTaskAssignee;
    }

    public void setActivitiTaskAssignee(String activitiTaskAssignee) {
        this.activitiTaskAssignee = activitiTaskAssignee;
    }

    public String getActivitiTaskName() {
        return activitiTaskName;
    }

    public void setActivitiTaskName(String activitiTaskName) {
        this.activitiTaskName = activitiTaskName;
    }

    public String getCostId() {
        return costId;
    }

    public void setCostId(String costId) {
        this.costId = costId;
    }

    public String getSyncStatus() {
        return syncStatus;
    }

    public void setSyncStatus(String syncStatus) {
        this.syncStatus = syncStatus;
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "PayApply{" +
                ", id=" + id +
                ", payApplyCode=" + payApplyCode +
                ", lspName=" + lspName +
                ", lspId=" + lspId +
                ", billType=" + billType +
                ", bankName=" + bankName +
                ", bankCode=" + bankCode +
                ", applyDate=" + applyDate +
                ", billSum=" + billSum +
                ", paidSum=" + paidSum +
                ", incSum=" + incSum +
                ", chargeSum=" + chargeSum +
                ", premium=" + premium +
                ", paymentSum=" + paymentSum +
                ", cashPaySum=" + cashPaySum +
                ", oilPaySum=" + oilPaySum +
                ", oilBaPaySum=" + oilBaPaySum +
                ", oilAlPaySum=" + oilAlPaySum +
                ", oilErPaySum=" + oilErPaySum +
                ", cashBaPaySum=" + cashBaPaySum +
                ", cashAlPaySum=" + cashAlPaySum +
                ", cashErPaySum=" + cashErPaySum +
                ", executeSum=" + executeSum +
                ", noExecuteSum=" + noExecuteSum +
                ", currentExecute=" + currentExecute +
                ", balance=" + balance +
                ", status=" + status +
                ", isInvoice=" + isInvoice +
                ", shouldReceiptDate=" + shouldReceiptDate +
                ", tenantId=" + tenantId +
                ", accessory=" + accessory +
                ", accessoryName=" + accessoryName +
                ", confirmUser=" + confirmUser +
                ", activitiProcessId=" + activitiProcessId +
                ", activitiTaskId=" + activitiTaskId +
                ", activitiTaskAssignee=" + activitiTaskAssignee +
                ", activitiTaskName=" + activitiTaskName +
                ", costId=" + costId +
                ", syncStatus=" + syncStatus +
                "}";
    }
}
